home *** CD-ROM | disk | FTP | other *** search
- %% This is file `amscd.sty', generated
- %% on <1995/1/27> with the docstrip utility (2.2i).
- %% The original source files were:
- %% amscd.dtx
- %%% ====================================================================
- %%% @LaTeX-file{
- %%% filename = "amscd.dtx",
- %%% version = "1.2",
- %%% date = "1995/01/24",
- %%% time = "16:35:15 EST",
- %%% author = "American Mathematical Society",
- %%% copyright = "Copyright (C) 1995 American Mathematical Society,
- %%% all rights reserved. Copying of this file is
- %%% authorized only if either:
- %%% (1) you make absolutely no changes to your copy,
- %%% including name; OR
- %%% (2) if you do make changes, you first rename it
- %%% to some other name.",
- %%% address = "American Mathematical Society,
- %%% Technical Support,
- %%% Electronic Products and Services,
- %%% P. O. Box 6248,
- %%% Providence, RI 02940,
- %%% USA",
- %%% telephone = "401-455-4080 or (in the USA and Canada)
- %%% 800-321-4AMS (321-4267)",
- %%% FAX = "401-331-3842",
- %%% checksum = "45742 309 1039 11549",
- %%% email = "tech-support@math.ams.org (Internet)",
- %%% codetable = "ISO/ASCII",
- %%% keywords = "latex, amslatex, ams-latex, commutative diagram",
- %%% supported = "yes",
- %%% abstract = "This is part of the AMS-\LaTeX{} distribution.
- %%% It is a \LaTeX{} package that adapts the
- %%% commutative diagram macros of AMS-\TeX{} for
- %%% use in \LaTeX{}",
- %%% docstring = "The checksum field above contains a CRC-16
- %%% checksum as the first value, followed by the
- %%% equivalent of the standard UNIX wc (word
- %%% count) utility output of lines, words, and
- %%% characters. This is produced by Robert
- %%% Solovay's checksum utility.",
- %%% }
- %%% ====================================================================
- \ProvidesPackage{amscd}[1995/01/24 v1.2]
- \RequirePackage{amsgen}
- \@ifundefined{math@cr}{%
- \def\math@cr{{\ifnum0=`}\fi
- \@ifstar{\global\@eqpen\@M\math@cr@}%
- {\global\@eqpen\interdisplaylinepenalty \math@cr@}}
- \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
- \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
- \noalign{\vskip#1\relax}}
- \def\restore@math@cr{\def\math@cr@@@{\cr}}
- \restore@math@cr
- \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
- $#1\copy\z@\mkern-6mu\cleaders
- \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
- \mkern-6mu\mathord\rightarrow$}
- \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
- $#1\mathord\leftarrow\mkern-6mu\cleaders
- \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
- \mkern-6mu\box\z@$}
- \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
- $#1\mathord\leftarrow\mkern-6mu\cleaders
- \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
- \mkern-6mu\mathord\rightarrow$}
- \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
- \@ifundefined{Iat}{%
- \DeclareRobustCommand{\Iat}{\FN@\at@}
- \begingroup \catcode`\@=\active
- \gdef\CDat{\let @=\Iat}
- \endgroup
- \mathcode`\@="8000 % make @ pseudo-active in math
- \def\at@{\let\next@\at@@
- \ifcat\noexpand\next a\else
- \ifcat\noexpand\next0\else
- \ifcat\noexpand\next\relax\else
- \let\next@\at@@@\fi\fi\fi\next@}
- \def\at@@#1{\expandafter
- \ifx\csname\space @\string#1\endcsname\relax
- \DN@{\at@@@#1}%
- \else
- \DN@{\csname\space @\string#1\endcsname}%
- \fi\next@}%
- \@ifundefined{default@tag}{%
- \def\default@tag{%
- \def\tag{\PackageError{amscd}{\protect\tag\space not allowed
- here}\@eha}}%
- \@ifundefined{at@@@}{%
- \def\at@@@{\PackageError{amscd}{\Invalid@@ @}{\the\athelp@}\char64\relax}
- \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@
- {Only certain combinations beginning with @ make sense to me.^^J%
- I'll assume you wanted @@ for a printed @.}}{}
- \@ifundefined{minaw@}{\newdimen\minaw@}{}
- \@ifundefined{bigaw@}{\newdimen\bigaw@}{}
- \minaw@11.111pt
- \newdimen\minCDarrowwidth
- \minCDarrowwidth2.5pc
- \newif\ifCD@
- \let\ampersand@\relax
- \newenvironment{CD}{%
- \CDat
- \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
- \CD@true\vcenter\bgroup\let\\\math@cr\restore@math@cr\default@tag
- \tabskip\z@skip\baselineskip20\ex@
- \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
- &\hfill$\m@th##$\hfill\crcr
- \crcr\egroup\egroup\egroup
- \def\CD@check#1#2{\ifCD@\DN@{#2}\else
- \DN@{\PackageError{amscd}{@\protect#1 not
- allowed outside of the CD environment}\@eha}%
- \fi\next@}
- \atdef@>#1>#2>{\ampersand@
- \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
- \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
- \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
- \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
- \ifdim\wd\@ne>\bigaw@\global\bigaw@\wd\@ne\fi}%
- \ifCD@\enskip\fi
- \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
- \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
- \ifCD@\enskip\fi \ampersand@}
- \atdef@<#1<#2<{\ampersand@
- \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
- \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
- \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
- \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
- \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
- \ifCD@\enskip\fi
- \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
- \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
- \ifCD@\enskip\fi \ampersand@}
- \begingroup \catcode`\~=\active \lccode`\~=`\@
- \lowercase{%
- \global\atdef@)#1)#2){~>#1>#2>}
- \global\atdef@(#1(#2({~<#1<#2<}
- }% end lowercase
- \endgroup
- \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox
- {$\scriptstyle#1$}}$}\Big\uparrow
- \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
- \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
- {$\scriptstyle#1$}}$}\Big\downarrow
- \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
- \atdef@={\CD@check={&\enskip\mathrel
- {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
- \minCDarrowwidth}}\enskip&}}
- \atdef@|{\CD@check|{\Big\Vert&&}}
- \atdef@\vert{\CD@check\vert{\Big\Vert&&}}
- \atdef@.{\CD@check.{&&}}
- \endinput
- %% End of file `amscd.sty'.
-